package main

import "fmt"

// Database 表示数据库连接
type Database struct{}

// NewDatabase 创建一个新的数据库连接
func NewDatabase() *Database {
	return &Database{}
}

// Service 表示业务服务
type Service struct {
	DB *Database
}

// NewService 创建一个新的业务服务
func NewService(db *Database) *Service {
	return &Service{
		DB: db,
	}
}

// DoSomething 执行服务操作
func (s *Service) DoSomething() {
	fmt.Println("Doing something with the database...")
}

func main() {
	// wire.Build(ServiceSet)  // 这里是 wire 的生成代码，实际使用时会自动生成
	// 例如：wire gen -o wire_gen.go main.go
	service := InitializeService()
	service.DoSomething()
}
